(a) Field of the Invention
The present invention relates to a system for calculation of a sum of products in which data items of a time- or space-based array such as image data are multiplied individually by coefficients corresponding to a distribution curve and then the products obtained are added together.
(b) Description of the Related Art
There exists several known systems for calculation of a sum of products, such as a convolution integrator used for enhancement of the sharpness of image data, spatial filtering and the like, wherein n data items are sequentially fetched from a time-or space-based array of data and are multiplied individually by coefficients corresponding to a distribution curve. The n data multiplied by the coefficients are then added to output the sum. In such a system, the products of the n data items and the respective coefficients are obtained at one time, then added together, and finally the sum of the products is output. Subsequently, the data items are shifted, so that the shifted n data items can be multiplied by the corresponding coefficients. The obtained products are added together, and the sum is output. The operation described is executed successively. In this case, the n data items need to be multiplied at one time by their corresponding coefficients. To this end, an arithmetic unit for the sum-of-products operation of a systolic array type is used having n processors which are arranged in parallel for multiplication.
Assuming that n data items are fetched sequentially from a sequence of data a.sub.1, a.sub., a.sub.3, . . . a.sub.m, . . . and are multiplied at one time by coefficients k.sub.1 to k.sub.n, respectively, the products obtained are added together, and the sum is delivered as output Y. In this case, the output Y of the arithmetic unit for sum-of-products operation is as follows:
Output Y1 obtained first is EQU Y1=k.sub.1 a.sub.1 +k.sub.2 a.sub.2 +k.sub.3 a.sub.3. . . k.sub.n .sub.a( 1)
Second output Y2 produced next is EQU Y2=k.sub.1 a.sub.2 +k.sub.2 a.sub.3 +k.sub.3 a.sub.4. . . k.sub.n a.sub.n+1( 2)
and i-th output Yi is EQU Yi=k.sub.1 a.sub.i +k.sub.2 a.sub.i+1 +k.sub.3 a.sub.i+3. . . k.sub.n a.sub.n+i-1 ( 3)
Since the products of the n data items and their respective coefficients must be obtained at the same time, a systolic array is employed in which n processors serving as multipliers are connected in parallel. 4
The processors which are used as multipliers are required to perform at high-speed and are therefore expensive. Consequently, there is a problem in that if the number of coefficients to be multiplied is large, the arithmetic unit required for sum-of-products operation becomes very expensive.